home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / DTMFF110 / SBIO.H < prev    next >
C/C++ Source or Header  |  1997-08-05  |  2KB  |  56 lines

  1. /* SBIO.H  */
  2. /* Copyright 1995 by Ethan Brodsky.  All rights reserved */
  3. /* Modified extensively by Philip VanBaren to suit my purposes */
  4. /* 1997 (C) Emil Laurentiu */
  5. /* Last Modified Wednesday, 06 August 1997 */
  6.  
  7. typedef enum
  8. {
  9.   input, output
  10. }          mode;
  11.  
  12. /* Low level I/O functions */
  13. void          write_dsp( unsigned char value );
  14. unsigned char read_dsp( void );
  15. int          reset_dsp( void );
  16.  
  17. /* Interface procedures and functions */
  18. int          init_sb( int baseio, char irq, char dma16, mode io, unsigned int length );
  19. void          shutdown_sb( void );
  20. void          startio( unsigned int rate, unsigned long length );
  21. void          stopio( void );
  22.  
  23. /* Mixer functions */
  24. void          set_cd_level( unsigned int );
  25. void          set_mic_level( unsigned int );
  26. void          set_line_level( unsigned int );
  27. unsigned int  get_cd_level( void );
  28. unsigned int  get_mic_level( void );
  29. unsigned int  get_line_level( void );
  30. void          set_master_level( int level );
  31. void          set_fm_level( int level );
  32. void          installhandler( void );
  33. void          uninstallhandler( void );
  34. void          sb_exitproc( void );
  35.  
  36. /* Asm functions */
  37. void far      set_SB_address( int base );
  38. int far          dma_reset( int Channel );
  39. int far          dma_setup( int Channel, char far * Buffer, unsigned Length, int Dir );
  40. int far          dma_done( int Channel );
  41. void far      dsp_voice( int );
  42. int far          dsp_reset( void );
  43. void far      dsp_time( int );
  44. void far      dsp_dma_prepare( int Dir, int Length );
  45.  
  46. extern int    sb_irq;        /* IRQ used by the Soundblaster card */
  47. extern int    sb_dma;        /* DMA channel used by the Soundblaster card */
  48. extern int    sb_addr;        /* I/O address of the Soundblaster card */
  49.  
  50. extern int    dma_errno;
  51. extern char  *dma_errlist[];
  52.  
  53. extern volatile int sb16dmarunning;
  54. extern volatile char curblock;
  55. extern int far *dmaptr;        /* Pointer to beginning of DMA buffer */
  56.